package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * 排序字符串
 */
public class SortListDemo3 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
//        list.add("jack");
//        list.add("rose");
//        list.add("tom");
//        list.add("jerry");
//        list.add("james");
//        list.add("timi");
//        list.add("Ada");
//        list.add("Black");
//        list.add("Kobe");
//        list.add("bob");

        list.add("王克晶");
        list.add("传奇");
        list.add("伟超老师");
        System.out.println(list);
        /*
            String实现了Comparable接口,比较规则:按照字符的unicode编码对应的整数比较.
            如果第一个字符相同则比较第二个字符,以此类推
         */
//        Collections.sort(list);
        /*
            对于排序中文而言,当比较规则不满足需求时,可以自行定义一个比较规则
            规则:字少的小,字多的大
         */
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
//                return o1.length()-o2.length();
                //两个数字反过来减则是降序
                return o2.length()-o1.length();
            }
        });


        System.out.println(list);


    }
}






